<?php
namespace catchAdmin\stock\model;

use catchAdmin\stock\model\search\MoveSearch;
use catcher\base\CatchModel;
use think\facade\Db;

class Move extends CatchModel
{

    use MoveSearch;
    
    protected $name = 'db_move';
    protected $field = [
            'id', //
			'move_id', // 移位编号
			'goods_id', // 商品编号
			'goods_name', // 商品名称
			'tray_id', // 托盘码
			'box_id', // 箱号
			'slice_id', // 片号
			'config_id_one', // 移出库位编号(关联库位表）
			'config_id_two', // 目标库位编号(关联库位表）
			'tenant_id', // 商户id
            'creator_id', // 创建者ID
			'created_at', // 创建时间
			'updated_at', // 更新时间
			'deleted_at', // 删除状态，0未删除 >0 已删除
            'stock_id',//库存ID
            'status'
    ];
    /**
     * 列表
     *
     * @time 2019年12月08日
     * @return array|\think\Paginator
     *@throws \think\db\exception\DbException
     */
    public function getList($tenant_id=0)
    {

        return $this->withoutField(['updated_at'], true)
            ->catchSearch()
            ->where('tenant_id',$tenant_id)
            ->order($this->aliasField('id'), 'desc')
            ->paginate()
            ->each(function (&$item){
                $item['config_id_one_name'] = Db::table('db_warehouse_config')
                    ->where(['config_id' => $item['config_id_one']])
                    ->value('name');
                $item['config_id_two_name'] = Db::table('db_warehouse_config')
                    ->where(['config_id' => $item['config_id_two']])
                    ->value('name');
                $item['user_name'] = Db::table('users')
                    ->where(['id' => $item['creator_id']])
                    ->value('username');
            });
    }

}
